=-=-=-=-=-=-=
 LazyNezumi
=-=-=-=-=-=-=
Version: 10.3.3
Author: kamihkamih <at> gmail <dot> com (please put LazyNezumi in the subject line)
Paypal: same address (if you're feeling generous ;)
Updates: http://people.happycoders.org/kamih/wordpress/?page_id=46

Thanks for downloading LazyNezumi, I hope it works for you and that you can make cool stuff with it!
I'm always interested in seeing what people are doing with it, so don't hesitate to send me some links/pics :).

Also let me know if you find any bugs. If you have any problems with a supported app
on a supported OS (see list below), you can download DbgView (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx)
and run it before LazyNezumi. Try attaching to some windows, and then copy/paste all the LazyNezumi lines in DbgView and send
them to me. I'll take a look when I get a chance.

This program is free software, so feel free to distribute it to anyone you want.
My only requirement is that this README.txt file is distributed with the program.


----------------
 What this does
----------------
LazyNezumi simulates a piece of string that drags your paint brush behind it. Here are the controls you can play with:

* "Enabled" checkbox enables or disables the effect. This is currently bound to CTRL-F2.
* "Radius" controls the length the string can reach before it will start pulling the brush tip along the line.
* "Noise" will add random direction vectors to your lagged brush tip when it moves.
* "Noise Probability" is the probability that noise will be applied, each time your lagged brush tip moves.
* "Smoothing" sets the number of previous cursor delta vectors to average, before applying a position change to the lagged cursor.
* "GuideLine" enables or disables a guide line to help you know where the actual cursor is.
* "GuideCircle" enables or disables a guide circle to help you know where the actual cursor is.

Parameters that are only in the settings.ini:
--------------------------------------------

In the settings.ini file you can also change the color of the guide circle/line with the GuideColor parameter.
The value for this parameter is a hexadecimal integer number of the form BBGGRR, where leading 0s can be omitted.
Please note that this color is NotXORed with whatever color is already on your canvas, so you should pick a color which
will not cancel out over the color you typically use for your background.
For example, a gray background (r255, g255, b255) NotXORed with red (r255, g0, b0) equals gray, so you wouldn't see the line.
The default value for this parameter is orange (r255, g128, b0) => 0080FF.

EnableHotkey allows you to configure a global hotkey that will toggle the enable checkbox when pressed.
The first number is a hexadecimal combination of modifier flags, the second is a hexadecimal keycode.
A keycode listing can be found here: http://www.kbdedit.com/manual/low_level_vk_list.html.
And the following values are possible for the modifier:

ALT         1
CONTROL     2
SHIFT       4
WIN         8

Examples:
Ctrl+F2		-> EnableHotkey=2 0071
Ctrl    	-> EnableHotkey=2 0000
Alt+Ctrl+F3	-> EnableHotkey=3 0072
Ctrl+Shift+Q	-> EnableHotkey=6 0051

Please note that if you edit any of the settings in settings.ini, do so while LazyNezumi is closed, because it overwrites this file
on exit to store the parameters.

----------------
 How this works
----------------
On startup this program will open the apps.ini file and load the application window hook entries found there.
See the header of that file for an explanation.

You can add other entries manually. To obtain the window class names, you can use the Microsoft SPY++ tool.
Also, you can hook windows from the "File->Attach to Window" menu. Simply hover your mouse over the window you wish to hook,
and a couple seconds later it will be hooked.

Once a window is succesfully hooked, you will see its outline flash red a couple times. This means you can start
using LazyNezumi with it. Any succesfully hooked windows will be saved to the apps.ini so you don't have to attach them
manually next time you run LazyNezumi.

With some applications, the canvas area has the same class name as other windows in the app, so you will see these flash also.
Use the MinWindowSize setting if you see many small windows being hooked that you don't need.

Another note, if you hook a canvas and see the entire window flash red, this usually means that this application has only
one window. In this case, you will have to disable LazyNezumi before you click anywhere in the window if you're not intending
to paint.


-------------------------------------------
 Supported Systems, Hardware, and Software
-------------------------------------------
These are systems that lazyNezumi is known to work with.
Please send me info if you can get it to work with other stuff.
If the application doesn't start, you probably need the Microsoft Visual C++ 2005 SP1 Redistributable Package,
which you can find here:

http://www.microsoft.com/Downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en


Systems:
	* WinXP 32bit SP2, SP3
	* WinXP 64bit SP2
	* Vista (you might have to use WinXP SP2 Compatibility Mode, with some software)

Hardware:
	* Standard PS2/USB mice
	* All Wacom tablets should work (but only tested with Intuos and Bamboo)

Software:
	* Microsoft Paint (5.1)
	* Adobe Photoshop (CS1, CS2, CS3, CS4)
	* Corel Painter (11)
	* Gimp (2.6)
	* Xara Xtreme (5 +Pro)
	* ArtRage (2)
	* ArtWeaver
	* Paint.NET
	* Inkscape
	* OpenCanvas
	* Pixia
	* BodyPaint 3D
	* TVP Animation (8, 9)
	* ZBrush
	* Synfig
	* Sai

Known Issues
-------------

1) Vista:
	I currently don't have any machines running Vista, so I don't know if LazyNezumi will run on it or not.
	Some people have gotten it to work in WinXP SP2 Compatibility Mode, your mileage may vary.

2) Guide-line problems/artifacts:
	Certain apps draw over LazyNezumi's guide-line and guide-circle, so you might get some flickering, disappearing guide
	lines, and sometimes leftover line artifacts if you move too fast.
	This is not a serious issue as the artifacts do not get written to your canvas,
	and disappear as soon as you are done drawing.
	I will try to fix these when I get some free time.
